﻿@{
ViewData["Title"] = "采购查询";
}

<div class="layui-form" style="margin-top:20px;">
	<div class="layui-form-item">
		<label class="layui-form-label">供应商</label>
		<div class="layui-input-inline">
			<select name="supplierName" id="supplierName"></select>
		</div>
		<label class="layui-form-label">采购物品</label>
		<div class="layui-input-inline">
			<select name="goodsName" id="goodsName"></select>
		</div>
		<label class="layui-form-label">日期范围</label>
		<div class="layui-input-inline">
			<input type="text" class="layui-input" id="dateRange" placeholder="请选择日期范围">
		</div>
		<div class="layui-input-inline">
			<button class="layui-btn" id="searchBtn">查询</button>
		</div>
	</div>
</div>

<table id="pTable" lay-filter="pTable"></table>


<script type="text/html" id="toolDemo">
	<div class="layui-clear-space">
		<a class="layui-btn layui-btn-xs" lay-event="edit">编辑</a>
	</div>
</script>


@section Scripts {
<script>
	layui.use(['laydate', 'table', 'form'], function() {
		var laydate = layui.laydate;
		var table = layui.table;
		var form = layui.form;

		//获取供应商信息
		$.ajax({
			url: "/api/Supplier/AllName",
			method: 'GET',
			dataType: 'json',
			success: function(data) {
				// 清空下拉框
				$('#supplierName').empty();
				// 添加默认选项
				$('#supplierName').append(
					$('<option>', {
						value: '', // 空值
						text: '请选择供应商' // 默认提示文本
					})
				);
				// 动态渲染选项
				$.each(data, function(index, supplier) {
					$('#supplierName').append(
						$('<option>', {
							value: supplier, // 设置选项的值
							text: supplier // 设置选项的显示文本
						})
					);
				});
				form.render('select');
			},
			error: function(error) {
				console.error('获取数据失败:', error);
				alert('获取供应商列表失败，请稍后重试。'); // 用户提示
			}
		});
		//获得物品数据
		const apiUrl2 = "/api/Goods/AllName";
		$.ajax({
			url: apiUrl2,
			method: 'GET',
			dataType: 'json',
			success: function(data) {
				$('#goodsName').empty();
				$('#goodsName').append(
					$('<option>', {
						value: '', // 空值
						text: '请选择物品' // 默认提示文本
					})
				);
				$.each(data, function(index, goods) {
					$('#goodsName').append(
						$('<option>', {
							value: goods,
							text: goods
						})
					);
				});
				form.render('select');
			},
			error: function(error) {
				console.error('获取数据失败:', error);
			}
		});

		// 获取今天的日期
		var today = new Date();
		var todayStr = today.toISOString().split('T')[0];
		// 初始化日期选择器
		laydate.render({
			elem: '#dateRange',
			range: true, // 开启日期范围选择
			format: 'yyyy-MM-dd', // 日期格式
			value: todayStr + ' - ' + todayStr
		});

		table.render({
			elem: '#pTable',
			url: '/api/PurchaseOrder/All',
			page: true,
			limit: 15,
			limits: [15],
			totalRow: true,
			cols: [
				[{
						field: 'id',
						sort: true,
						title: '单据编号'
					},
					{
						field: 'supplierName',
						sort: true,
						title: '供应商名称'
					},
					{
						field: 'createDateTime',
						sort: true,
						title: '单据时间'
					},
					{
						field: 'goodsName',
						sort: true,
						title: '物品名称'
					},
					{
						field: 'amount',
						sort: true,
						title: '采购数量',
						totalRow: '{{= d.TOTAL_NUMS }}'
					},
					{
						field: 'price',
						sort: true,
						title: '单价'
					},
					{
						field: 'money',
						sort: true,
						title: '金额',
						totalRow: '￥ {{= d.TOTAL_NUMS }}'
					},
					{
						fixed: 'right',
						title: '操作',
						width: 110,
						minWidth: 100,
						templet: '#toolDemo'
					}
				]
			],
			parseData: function(res) {
				return {
					"code": 0,
					"msg": "",
					"count": res.totalCount,
					"data": res.purchaseOrder
				};
			}
		});

		// 查询按钮点击事件
		$('#searchBtn').on('click', function() {
			var dateRange = $('#dateRange').val(); // 获取日期范围
			var nameFilter = $('#supplierName').val(); // 获取名称筛选条件
			var goodsName = $('#goodsName').val(); // 获取名称筛选条件
			if (!dateRange) {
				layer.msg('请选择日期范围');
				return;
			}

			// 解析日期范围
			var dates = dateRange.split(' - ');
			var startDate = dates[0];
			var endDate = dates[1];

			// 重新加载表格数据
			table.reload('pTable', {
				url: '/api/PurchaseOrder/All', // 后端 API 地址
				where: {
					startDate: startDate,
					endDate: endDate,
					supplierName: nameFilter,
					goodsName: goodsName
				},
				page: {
					curr: 1 // 重新从第一页开始
				}
			});
		});

		// 编辑按钮
		table.on('tool(pTable)', function(obj) {
			var data = obj.data;
			if (obj.event === 'edit') {
				window.location.href = "/Purchase/Edit/" + data.id;
			}
		});

	});
</script>
}